   ps_3_0
    def c4, 0.5, -0.5, 0.00100000005, 1
    def c5, 0.75, 0, 0, 0
    dcl_texcoord v0.xyz
    dcl_2d s0
    rcp r0.x, v0.z
    mul r0.yz, r0.x, v0.xxyw
    mad r0.yz, r0, c4.xxyw, c4.x
    mov r1.xw, c4
    mul r1.xy, r1.x, c0
    mad r0.yz, r0, c3.xxyw, r1.xxyw
    texld r2, r0.yzzw, s0
    mad r2.z, r2.x, c0.w, -c0.z
    mad r0.xy, v0, r0.x, c1.ywzw
    mul r0.xy, r0, -r2.z
    mul r2.xy, r0, c1.xzzw
    add r0.xyz, r2, -c2
    dp3 r0.x, r0, r0
    rsq r0.x, r0.x
    rcp r0.x, r0.x
    add r0.x, r0.x, c4.z
    mul_sat r0.x, r0.x, c2.w
    mad r0.x, r0.x, -r0.x, c4.w
    mul r0.x, r0.x, c5.x
    dp3 r0.y, r2, r2
    rsq r0.y, r0.y
    rcp r0.y, r0.y
    if b2
      mov r2.w, c4.w
      dp4 r1.y, r2, c13
      add r0.z, r1.y, -c13.w
      mov r1.x, c13.w
      cmp r1.xy, r0.z, r1, r1.yxzw
      add r1.xy, r1, -c14.y
      add r0.z, r0_abs.z, c4.z
      add r2.xy, -r1.x, c15.zwzw
      rcp r0.z, r0.z
      mul_sat r0.zw, r0.z, r2.xyxy
      add r0.z, -r0.w, r0.z
      mul_sat r1.xy, r1, c14.x
      add r1.xy, -r1, c4.w
      mov r2.y, c15.y
      dp2add_sat r0.w, r1, r2.y, c5.y
      mul r0.w, r0.w, r0.z
      cmp r0.z, r0.z, r0.w, c5.y
      mul r0.z, r0.z, r0.y
      mul_sat r0.z, r0.z, c15.x
      mad r0.z, r0.z, -c12.w, r1.w
      add_sat r0.w, r0.z, c14.z
      mul r0.z, r0.w, r0.z
    else
      mov r0.z, c4.w
    endif
    mul r0.x, r0.z, r0.x
    mad_sat r0.y, r0.y, c17.y, -c17.x
    mad r0.y, r0.y, -c16.w, r1.w
    add_sat r0.z, r0.y, c17.z
    mul r0.y, r0.z, r0.y
    mul r0.x, r0.y, r0.x
    mul oC0, r0.x, c3.z

// approximately 58 instruction slots used (1 texture, 57 arithmetic)

 